/**
 * 
 */
package com.social.itba.model;

import org.apache.commons.lang.Validate;

/**
 * Representation of a Movie.
 * 
 * @author waabox( emiliano[dot]arango[at]globat[dot]com )
 *
 */
public class Movie {
  private Integer id;
  private String name;
  private Director director;
  /**
   * @return the id
   */
  public final Integer getId() {
    return id;
  }
  /**
   * @param movieId {@link Integer} the id to set. Can not be null.
   */
  public final void setId(final Integer movieId) {
    Validate.notNull(movieId, "movieId can not be null");
    id = movieId;
  }
  /**
   * @return the name
   */
  public final String getName() {
    return name;
  }
  /**
   * @param movieName {@link String} the name to set. Can not be null or empty.
   */
  public final void setName(final String movieName) {
    Validate.notEmpty(movieName, "movieName can not be null or empty");
    name = movieName;
  }
  /**
   * @return the director
   */
  public final Director getDirector() {
    return director;
  }
  /**
   * @param movieDirector {@link Director} the director to set. Can not be null.
   */
  public final void setDirector(final Director movieDirector) {
    Validate.notNull(movieDirector, "movie director can not be null");
    director = movieDirector;
  }
}
